define(function(){
	var TimeLockBtn=function (btn,time,inputSelectStr){
		var timeLockBtn=this;
		timeLockBtn.$btn=$(btn).attr('disabled',true);
		if(timeLockBtn.$btn.is('button')){
			timeLockBtn.defaultText=timeLockBtn.$btn.html();
			timeLockBtn.reText=function(str){
				timeLockBtn.$btn.html(str);
			}
		}else{
			timeLockBtn.defaultText=timeLockBtn.$btn.val();
			timeLockBtn.reText=function(str){
				timeLockBtn.$btn.val(str);
			}
		}
		timeLockBtn.start=$.newDate().getTime();
		timeLockBtn.end=timeLockBtn.start+$.parseInt(time)*1000;
		if(inputSelectStr){
			timeLockBtn.$input=$(inputSelectStr).attr('disabled',true);
		}

		timeLockBtn.refresh=function(){
			var cdTime=timeLockBtn.end-$.newDate().getTime();
			if(cdTime>0){
				timeLockBtn.reText(timeLockBtn.defaultText+'('+Math.floor(cdTime/1000)+')');
				if(timeLockBtn.$input){
					timeLockBtn.$input.attr('disabled',true)
				}
			}else{
				timeLockBtn.reText(timeLockBtn.defaultText);
				timeLockBtn.$btn.removeAttr('disabled');
				if(timeLockBtn.$input){
					timeLockBtn.$input.removeAttr('disabled');
				}
				clearInterval(timeLockBtn.interval);
			}
		}
		timeLockBtn.refresh();
		timeLockBtn.interval=setInterval(function(){
			timeLockBtn.refresh();
		},1000);
	}
	return TimeLockBtn;
})
